﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace eStore.Models
{
    public interface ICartRepository:ILatestQuerySupportRepository<Cart>,ITopRatedSupportRepository<Cart>
    {
        Cart SubmitCart(Cart cart);
        Cart AddCartItem(Cart cart,CartItem cartItem);
        Cart AddCartItem(String sId, CartItem cartItem);
        Cart AddProduct(String sId, Product productItem);
        Cart AddProduct(Cart cart, Product productItem);
        Cart DeleteCartItem(CartItem carteItem);
        Cart UpdateCartItemQuantity(CartItem cartItem, int iQty);
        Cart GetCartByRecordId(string sId);
        void DeleteCart(Cart cart);
        void MigrateCart(Cart cart, string userId);
        int GetCartItemsCount(int iRecordId);
        int GetCartItemsCount(Cart cart);
        List<CartItem> GetCartItems(String sId);
        List<CartItem> GetCartItems(Cart cart);
        Order CreateOrder(CheckOutModel checkoutModel,Cart cart,int iUserID);

    }
}
